package com.ruoyi.system.domain.project.educationreform;

import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;
import java.util.List;

/**
 * 教改项目
 * 
 * @author ruoyi
 * @date 2025-08-28
 */
public class EducationReform extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 自增主键ID */
    private Long id;

    /** 课程类别 */
    @Excel(name = "课程类别")
    private String courseCategory;

    /** 课程名称 */
    @Excel(name = "课程名称")
    private String courseName;

    /** 负责人id */
    @Excel(name = "负责人id")
    private Long teacherId;

    /** 负责人 */
    @Excel(name = "负责人")
    private String teacherName;
    /** 附件上传（存储文件路径） */
    @Excel(name = "附件上传", readConverterExp = "存=储文件路径")
    private String attachment;
    /** 课程时间 */
    private Date courseDate;
    /** 课程结束时间 */
    private Date finishDate;
    /** 课程编号 */
    private String courseCode;
    /** 课程来源 */
    private String courseSource;
    /** 课程类型 */
    private String courseType;
    /** 课程状态 */
    private String courseStatus;
    /** 课程经费 */
    private  String courseAcount;
    /** 团队成员 */
    private List<String> teamMembers;
    /** 团队成员ID */
    private Long memberId;
    /** 团队成员姓名 */
    @Excel(name = "团队成员姓名")
    private String memberName;

    private String currentRole;

    private Long deptId;
    /** 一级成员 */
    private List<EducationReformMember> firstClassMembers;
    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }

    public void setCourseCategory(String courseCategory) 
    {
        this.courseCategory = courseCategory;
    }

    public String getCourseCategory() 
    {
        return courseCategory;
    }

    public void setCourseName(String courseName) 
    {
        this.courseName = courseName;
    }

    public String getCourseName() 
    {
        return courseName;
    }

    public void setTeacherId(Long teacherId) 
    {
        this.teacherId = teacherId;
    }

    public Long getTeacherId() 
    {
        return teacherId;
    }

    public void setTeacherName(String teacherName) 
    {
        this.teacherName = teacherName;
    }

    public String getTeacherName() 
    {
        return teacherName;
    }
    public void setAttachment(String attachment) 
    {
        this.attachment = attachment;
    }

    public String getAttachment() 
    {
        return attachment;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("courseCategory", getCourseCategory())
            .append("courseName", getCourseName())
            .append("teacherId", getTeacherId())
            .append("teacherName", getTeacherName())
            .append("attachment", getAttachment())
            .toString();
    }

    public String getCourseAcount() {
        return courseAcount;
    }

    public void setCourseAcount(String courseAcount) {
        this.courseAcount = courseAcount;
    }

    public String getCourseStatus() {
        return courseStatus;
    }

    public void setCourseStatus(String courseStatus) {
        this.courseStatus = courseStatus;
    }

    public String getCourseType() {
        return courseType;
    }

    public void setCourseType(String courseType) {
        this.courseType = courseType;
    }

    public String getCourseSource() {
        return courseSource;
    }

    public void setCourseSource(String courseSource) {
        this.courseSource = courseSource;
    }

    public Date getFinishDate() {
        return finishDate;
    }

    public void setFinishDate(Date finishDate) {
        this.finishDate = finishDate;
    }

    public Date getCourseDate() {
        return courseDate;
    }

    public void setCourseDate(Date courseDate) {
        this.courseDate = courseDate;
    }

    public String getCourseCode() {
        return courseCode;
    }

    public void setCourseCode(String courseCode) {
        this.courseCode = courseCode;
    }

    public List<String> getTeamMembers() {
        return teamMembers;
    }

    public void setTeamMembers(List<String> teamMembers) {
        this.teamMembers = teamMembers;
    }

    public List<EducationReformMember> getFirstClassMembers() {
        return firstClassMembers;
    }

    public void setFirstClassMembers(List<EducationReformMember> firstClassMembers) {
        this.firstClassMembers = firstClassMembers;
    }

    public Long getMemberId() {
        return memberId;
    }

    public void setMemberId(Long memberId) {
        this.memberId = memberId;
    }

    public String getMemberName() {
        return memberName;
    }

    public void setMemberName(String memberName) {
        this.memberName = memberName;
    }

    public String getCurrentRole() {
        return currentRole;
    }

    public void setCurrentRole(String currentRole) {
        this.currentRole = currentRole;
    }

    public Long getDeptId() {
        return deptId;
    }

    public void setDeptId(Long deptId) {
        this.deptId = deptId;
    }
}
